package cn.edu.tju.elm.service;

import cn.edu.tju.core.model.User;
import cn.edu.tju.elm.model.BusinessApplication;
import java.util.List;
import java.util.Optional;

public interface BusinessApplicationService {

    BusinessApplication save(BusinessApplication application);

    Optional<BusinessApplication> findById(Long id);

    List<BusinessApplication> findByApplicantId(Long applicantId);

    List<BusinessApplication> findByStatus(Integer status);

    List<BusinessApplication> findAll();

    BusinessApplication updateApplication(Long id, BusinessApplication application);

    BusinessApplication submitApplication(BusinessApplication application);

    BusinessApplication reviewApplication(Long id, Integer status, String reviewComment, Long reviewerId);

    Optional<BusinessApplication> findByIdAndApplicantId(Long id, Long applicantId);
}